﻿
namespace SistemaLogistica.Windows.Forms.Almacen.Reportes
{
    using System;
    using System.Collections.Generic;
    using System.Windows.Forms;
    using SistemaLogistica.Business.Entities;
    using SistemaLogistica.Business.Logic;

    public partial class CwfFactura : UserControl
    {
        public CwfFactura()
        {
            InitializeComponent();
            InitialLoad();
        }

        public void InitialLoad()
        {
            this.cmbProveedor.DisplayMember = "RazonSocial";
            this.cmbProveedor.ValueMember = "IdProveedor";
            List<Proveedor> proveedores = ProveedorManager.Instancia.Listar();
            proveedores.Insert(0, new Proveedor { IdProveedor = 0, RazonSocial = "Mostrar todos" });
            this.cmbProveedor.DataSource = proveedores;
        }

        private void btnBuscar_Click(object sender, EventArgs e)
        {
            bool result = true;

            if (this.cmbProveedor.SelectedIndex == -1)
            {
                this.errValidator.SetError(cmbProveedor, "Seleccionar Proveedor.");
                result = false;
            }
            else
            {
                this.errValidator.SetError(cmbProveedor, string.Empty);
            }
            if (this.dtpDesde.Value > this.dtpHasta.Value)
            {
                this.errValidator.SetError(this.dtpHasta, "Debe cumplir fecha desde < fecha hasta.");
                result = false;
            }
            else
            {
                this.errValidator.SetError(this.dtpHasta, string.Empty);
            }

            if (result)
            {
                int idProveedor = Convert.ToInt32(this.cmbProveedor.SelectedValue);
                this.sistemaLogisticaDS.EnforceConstraints = false;
                this.reporteFacturaTableAdapter.Fill(this.sistemaLogisticaDS.ReporteFactura, this.dtpDesde.Value, this.dtpHasta.Value, idProveedor);
                this.rpvFactura.RefreshReport();
            }
        }
    }
}
